package api_model

import "time"

func CreateTaskOrderFactory(sqlType string) *TaskOrder {
	return &TaskOrder{BaseModel: BaseModel{DB: UseDbConn(sqlType)}}
}

type TaskOrder struct {
	BaseModel
	Id                     int32     `gorm:"column:id;primary_key;AUTO_INCREMENT;NOT NULL"`
	Tid                    string    `gorm:"column:tid;NOT NULL;comment:'任务id'"`
	OrderId                string    `gorm:"column:order_id;NOT NULL;comment:'订单id'"`
	Platform               string    `gorm:"column:platform;NOT NULL;comment:'平台'"`
	UnitPrice              float64   `gorm:"column:unit_price;default:0.00;NOT NULL;comment:'全部商品总价格(含副宝贝)，也就是用户下单最终价格'"`
	Commission             float64   `gorm:"column:commission;default:0.00;NOT NULL;comment:'买手佣金'"`
	Type                   string    `gorm:"column:type;default:1;NOT NULL;comment:'0 浏览单 1成交单 2 媒体单'"`
	MerchantId             int32     `gorm:"column:merchant_id;NOT NULL;comment:'商家id'"`
	BuyerId                int32     `gorm:"column:buyer_id;default:NULL;comment:'买手id'"`
	BuyerAccountId         int32     `gorm:"column:buyer_account_id;default:NULL;comment:'买号id'"`
	OrderContent           string    `gorm:"column:order_content;NOT NULL;comment:'订单内容'"`
	MainGoodsTitle         string    `gorm:"column:main_goods_title;NOT NULL;comment:'商品标题'"`
	UseAccretionFeeList    string    `gorm:"column:use_accretion_fee_list;NOT NULL;comment:'使用的增值服务'"`
	ExpressNo              string    `gorm:"column:express_no;default:NULL;comment:'快递单号'"`
	GiftCode               string    `gorm:"column:gift_code;default:NULL;comment:'代发礼品编号'"`
	PlatformNo             string    `gorm:"column:platform_no;default:NULL;comment:'电商订单编号'"`
	ActualPaymentMoney     string    `gorm:"column:actual_payment_money;default:0.00;NOT NULL;comment:'买手实际付款'"`
	BUpperCommission       float64   `gorm:"column:b_upper_commission;default:0.00;NOT NULL;comment:'师傅佣金'"`
	BUpperUpCommission     float64   `gorm:"column:b_upper_up_commission;default:0.00;NOT NULL;comment:'师傅上级佣金'"`
	AgentPromotionExpenses float64   `gorm:"column:agent_promotion_expenses;default:0.00;NOT NULL;comment:'代理推广费'"`
	PlatformEarnings       float64   `gorm:"column:platform_earnings;default:0.00;NOT NULL;comment:'平台收益'"`
	State                  int8      `gorm:"column:state;default:-1;NOT NULL;comment:'订单状态 -1等待接单 -2暂停 -3定时发布 -4待审核 0取消 1已接单 2已找到 3已付款 4已发货 5已收货 6 已完成 7 平台已完成 8 平台已驳回'"`
	IsMerchantRefund       string    `gorm:"column:is_merchant_refund;NOT NULL;comment:'是否商家返款 0不是 1商返'"`
	IsPause                string    `gorm:"column:is_pause;default:0;NOT NULL;comment:'是否处于暂停状态 0 否 1 是'"`
	RefundState            string    `gorm:"column:refund_state;default:0;NOT NULL;comment:'是否已返款， 0 未返款 1 已返款'"`
	IsMerchantCheck        string    `gorm:"column:is_merchant_check;NOT NULL;comment:'买手接单是否需要商家审核 0 不需要 1 需要'"`
	CancelCause            string    `gorm:"column:cancel_cause;default:NULL;comment:'取消原因'"`
	IsTiming               string    `gorm:"column:is_timing;NOT NULL;comment:'是否是定时订单 0 不定时 1 定时'"`
	Ip                     string    `gorm:"column:ip;default:NULL;comment:'ip'"`
	Imei                   string    `gorm:"column:imei;default:NULL;comment:'接单者设备信息'"`
	PushTime               string    `gorm:"column:push_time;default:CURRENT_TIMESTAMP;comment:'定时发布时间'"`
	OrderReceivingTime     time.Time `gorm:"column:order_receiving_time;default:NULL;comment:'接单时间'"`
	OrderTimeoutTime       time.Time `gorm:"column:order_timeout_time;default:NULL;comment:'接单后超时时间'"`
	CreateTime             time.Time `gorm:"column:create_time;default:CURRENT_TIMESTAMP;NOT NULL;comment:'创建时间'"`
	UrgentReviewState      string    `gorm:"column:urgent_review_state;default:NULL;comment:'催评状态'"`
	BrowseShop             string    `gorm:"column:browse_shop;default:0;comment:'是否浏览过店铺 0 否 1 是'"`
	RejectCause            string    `gorm:"column:reject_cause;default:NULL;comment:'驳回原因'"`
}

func (t *TaskOrder) TableName() string {
	return "task_order"
}
